Low complexity perceptual visual quality evaluation for jpeg2000 compressed streams

ABSTRACT

A method of detecting image quality in a wavelet transform-encoded image includes receiving wavelet transform-encoded image data partitioned into tiles, each tile partitioned into a number of subbands, evaluating a number of wavelets in fewer than the number of subbands, assigning a measure to each of the subbands evaluated for each tile, using the measures to determine a perceptual visual quality score for the image, and adjusting operation of the decoder based upon the perceptual visual quality score. A decoding system includes a memory to receive wavelet-transformed compressed image data having a predetermined number of subbands, and a decoder to determine a number of wavelet coefficients in a subset of the predetermined number of subbands, measure an amount of blur in the image data based upon the number of wavelet coefficients, and adjust a decoding process based upon the amount of blur.

CROSS REFERENCE TO RELATED APPLICATION

This application claims benefit of, and priority to, Indian Provisional Application No. 3766/MUM/2015, “A LOW COMPLEXITY PERCEPTUAL VISUAL QUALITY EVALUATION METHOD FOR JPEG2000 COMPRESSED STREAMS,” filed Oct. 3, 2015, which is incorporated by reference herein in its entirety.

TECHNICAL FIELD

This disclosure relates to decoding JPEG2000 images, and more particularly to evaluation of image quality resulting from the decoding.

BACKGROUND

The Joint Photographic Experts Committee (JPEG) has created different standards for compression of still images. The initial JPEG standard used discrete cosine transform compression. A newer version of JPEG, JPEG2000 also referred to as JPEG2K, relies upon a wavelet-based method. JPEG2K encoders encode the digital image data in accordance with this standard, compressing the file size for storage and/or transmission, and JPEG2K decoder can decode them prior to display or printing.

The JPEG2K codes streams may contain regions of interest that offer several mechanisms to support spatial random access or access at varying degrees of granularity, or resolution. This allows the decoder to adjust the level of resolution depending upon the quality of the image. The main visual artifact that reduces image quality in JPEG2K image is blur, which results from a loss of detail, mostly at the edges of objects in the image. Excessive low pass filtering typically causes the blur.

Image quality measures may take many forms, including Perceptual Visual Quality or PVQ. To maintain visual quality, it becomes important to quantify the numbers of artifacts introduces by the compression process.

SUMMARY

An embodiment consists of a method of detecting image quality in a wavelet transform-encoded image. The method includes receiving wavelet transform-encoded image data partitioned into tiles, each tile partitioned into a number of subbands, evaluating a number of wavelets in fewer than the number of subbands, assigning a measure to each of the subbands evaluated for each tile, using the measures to determine a perceptual visual quality score for the tile, and adjusting operation of the decoder based upon the perceptual visual quality score.

Another embodiment consists of a decoding system having a memory to receive wavelet-transformed compressed image data having a predetermined number of subbands, and a decoder to determine a number of wavelet coefficients in a subset of the predetermined number of subbands, measure an amount of blur in the image data based upon the number of wavelet coefficients, and adjust a decoding process based upon the amount of blur.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an embodiment of an image decompression system.

FIG. 2 shows an example of an image tile broken down into subbands.

FIG. 3 shows a flowchart of an embodiment of a method to evaluate a number of coefficients in a reduced number of subbands.

FIG. 4 shows a flowchart of an embodiment of a method to determine a number of coefficients in a subband.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 1 shows an embodiment of an image decompression system 10. Typically, the system is part of a larger image system that includes an encoder for encoding images to be transmitted from the system as well as received. The decoder may be implemented in a general purpose processor, but may also be a special purpose integrated circuit (chip). The decoder receives decoded image data 12 at a JPEG2000 (JPEG2K) decoder.

A JPEG2K encoder, on the transmission end, compresses the original data using a wavelet transform. The encoder partitions the image into ‘tiles,’ such as 20 in FIG. 2, which are analogous to the 8 pixel by 8 pixel blocks in the previous JPEG standard. The JPEG2K tiles are rectangular and all the same size. They each undergo encoding independently and represent different regions of original input image. The encoding results in four subbands for each tile.

The subbands shown in FIG. 2 represent different types of filtering. LL denotes low pass filtering in both the horizontal and vertical directions. HL denotes high pass filtering in the horizontal direction and low pass filtering in the vertical direction. Similarly, LH denotes low pass filtering in the horizontal direction and high pass filtering in the vertical region, and HH denotes high pass filtering in both directions.

The embodiments here use the subbands received in the compressed image data, typically stored in a memory 18 of the decoder 14, and the decoding element 19 analyzes them to determine a number of coefficients in each of some subset of the subbands. The subbands used here are all but the LL subband. A higher number of coefficients in a subband indicates a non-blurred image, resulting in a higher PVQ score. A blurred image reflects as a sparse percentage of coefficients in the subbands, indicating a lower PVQ score. By analyzing only 3 of the subbands, one can determine whether the image data is of high or low blue, without having to process all of the data. An image with low blur will have a high number of coefficients in the subbands, and an image with high blur will have a low number of coefficients.

FIG. 3 shows a flowchart of an embodiment of a method to determine blurriness in an image Generally, the method is applied to the n−1 resolution layer. Most JPEG2K encoding occurs at multiple layers of resolution. In the discussion here, N denotes the resolution of the final decoded image, and the embodiments are performed on the resolution layer one layer, n−1, below the final resolution layer. Information would be progressively lost due to the two-dimensional low pass filtering. As the resolution decreases, what remains is mostly the low frequency component of the original image Looking for the presence of high frequency data, such as edges, in such components may only mislead the process. Further, in the lower resolution layers, the data is mostly ‘synthetic’ after successive transforms, and not the information as it exists in the original image data. However, the processing could be performed on several different resolution layers.

In FIG. 3, the process sets the current resolution layer at 30. The subband scores for each of the three subbands used are gathered at 32. These subband scores are combined to get the overall PVQ score for the tile. The individual subband scores may be weighted. In one embodiment, the HH subband score and the LH subband score were each multiplied by 3. This number was derived by experiments and may be changed as desired.

At 36, the combined PVQ is checked to see if it is greater than 1. If so, the PVQ score is set at 1 at 38. In the embodiments here, a PVQ score of 1 indicates an image with no blur, while a score of 0 indicates high blur. The embodiment here is applied one tile at a time. To apply the process to the whole image, the process checks to see if all the tiles are completed at 40. If yes, the process moves on to the next image If no, the next tile is then accessed at 44 and the process moves on until the entire image is processed.

The basis of the process of FIG. 3 includes determining a subband score. FIG. 4 shows one embodiment of a method of determining a subband score for a particular subband 50. The process tracks two different counters, one to track the pixel upon which the process operates, the pixel index, and one to track the number of coefficients within the subband. As each subband undergoes processing, these counters are initialized at 52. The pixel value is set equal to the subband data for the pixel corresponding to the pixel index at 54.

At 56, the process determines whether the pixel value is less than a low threshold or higher than a high threshold. The thresholds may be set based upon the type of image data, etc. In one embodiment the low threshold is set at 123 and the high threshold is set to 133 for 8-bit depth input data. If true, the coefficient count is increased at 58 and the pixel index is increased at 60. If not, only the pixel index is increased at 60. At 62, the process checks to see if any pixels remain in the tile that have not been processed. If the pixel index is greater than the number of pixels in the tile, the process completes and the ratio of the number of coefficients/number of pixels becomes the subband score at 64. If not, the pixel continues by returning to 54. This score is then used as the subband score in the process of FIG. 5.

In this manner, the process can determine automatically the blurriness of the image for a particular layer of resolution. This information can be used to select different types of encoding resident in the encoded data, or to change the layer of the resolution used to generate the final coded image.

Variations and modification exist. The process can be further optimized by evaluating only those tiles the correspond to foreground regions of the image. The embodiments above focused on the luma component of decoded YUV data, but it could also act on the chroma component. 

What is claimed is:
 1. A method of detecting image quality in a wavelet transform-encoded image, comprising: receiving wavelet transform-encoded image data partitioned into tiles at a decoder, each tile partitioned into a number of subbands; evaluating a number of wavelets in fewer than the number of subbands; assigning a measure to each of the subbands evaluated for each tile; using the measures to determine a perceptual visual quality score for the image; and adjusting operation of the decoder based upon the perceptual visual quality score.
 2. The method of claim 1, further comprising assigning a weight to each tile, wherein the weight is based upon a relative importance of the tile in the image.
 3. The method of claim 1, wherein processing each tile into a number of subbands comprises processing each tile into four subbands.
 4. The method of claim 3, wherein evaluating the number of wavelets comprises evaluating the number of wavelets in three of the four subbands.
 5. The method of claim 1, wherein assigning a measure to each of the subbands comprises comparing a number of coefficients to at least one threshold and assigning a measure based upon the comparison.
 6. The method of claim 1, wherein evaluating the number of wavelets comprises evaluating the number of wavelets in a luminance component of the image data.
 7. The method of claim 1, wherein evaluating the number of wavelets comprises evaluating the number of wavelets in both a luminance and a chroma component of the image data.
 8. The method of claim 1, wherein partitioning the image data into tiles occurs in a resolution layer lower than a final resolution of a decoded image.
 9. The method of claim 1, wherein partitioning the image data into tiles occurs in each of several resolution layers.
 10. The method of claim 1, wherein evaluating the number of wavelets is performed only on those tiles that correspond to a foreground region of the image date.
 11. A decoding system, comprising: a memory to receive wavelet-transformed compressed image data having a predetermined number of subbands; and a decoder to: determine a number of wavelet coefficients in a subset of the predetermined number of subbands; measure an amount of blur in the image data based upon the number of wavelet coefficients; and adjust a decoding process based upon the amount of blur. 